


Miss You

by themoonandmargot



Category: Andi Mack (TV)
Genre: Angst, Coming Out, Declarations Of Love, Fluff, M/M, Rekindling Friendships, post-3x13
Language: English
Status: Completed
Published: 2019-04-01
Updated: 2019-04-01
Packaged: 2019-12-30 04:51:23
Rating: General Audiences
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 5,974
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/18308552
Author URL: https://archiveofourown.org/users/themoonandmargot/pseuds/themoonandmargot
Summary: “I’m one of your best friends?” he rasps, eyes wide.“Yeah, I thought that was obvious! I mean, if you weren’t one of my best friends, then who would you be to me?”~In which TJ Kippen recreates a friendship and transforms another.





	Miss You

**Author's Note:**

> _Will you be my best friend?_  
>  _Will you be my last?_  
>  _I need somebody_  
>  _who can love me like that_  
>  ~  
> This fic is inspired by [a wonderful edit by @brooklynsbane](https://www.instagram.com/p/Bs0TOLrnBEC/) on Instagram. Go ahead and give them a follow!
> 
> Happy reading~

It feels real and unreal, all at once.

The chill of the metal railing beneath your hand, real. The people, happy and smiling around you, unreal. The blurring vision, and the lack of air in your lungs, and the overwhelming sense of doom—very, very real.

Hope feels far gone, a tiny speck of light in the depths of a raging seastorm. Sitting steadies you, but it doesn’t rid your system of whatever demon that resides inside. The darkness claws at you, clogs your throat with imaginary bile, and you think if you can muster only enough breath to call for one thing, it’s this, and this only…

~

“ _Jonah Beck?_ ”

TJ glances up from his phone. Cyrus ogles at him with eyes brighter than TJ has ever seen, and while he would normally enjoy such intense attention from Cyrus, the reasons behind it makes him less than thrilled. “Yeah, Jonah Beck, the guy whose jersey I accidentally stole,” TJ says, frowning a bit. “Is there another Jonah who should matter to me?”

Curiously, Cyrus sits taller in his seat. “I mean, probably not, but I wasn’t expecting Jonah to matter to you in the first place,” he laughs. “Like, _what?_ You and Jonah, former friends?”

“Former best friends,” TJ adds, though he regrets it the moment Cyrus literally jumps in his seat.

“ _Best friends?_ ” Cyrus sputters, hands flying in the air. “How does that even happen? You were practically enemies for the past six years! Not to mention Jonah’s so smiley and happy and easygoing, like a puppy. And you… well, you…” TJ freezes a bit, almost bracing for impact, and Cyrus has to rethink his wording. He thinks back to that conversation with Buffy, the one about the math test, and it fits. “You’re like a puppy, too, but you’re more on the wolf side. Baby coyote, maybe.”

TJ tosses Cyrus a look— _fantastic, baby coyote, thanks for that_ —but he looks away once Cyrus leans forward into his space. TJ tries to ignore the heat behind his cheeks when Cyrus peers at him and asks, “So, what? One mishap on the baseball field and your friendship is broken beyond repair? Why don’t you try to be friends again?”

TJ shrugs. “I don’t know. We made up, and I’m glad we did, but… being close friends again just feels out of the question right now. Why, why does it matter?”

“Why does it matter?” Cyrus repeats, incredulously. “TJ, I can’t tell you how amazing it would be for all my best friends to be best friends with each other.”

If TJ wasn’t clearly blushing before, he definitely is now. “I’m one of your best friends?” he rasps, eyes wide.

“Yeah, I thought that was obvious! I mean, if you weren’t one of my best friends, then who would you be to me?”

 _Your boyfriend,_ TJ thinks before scratching the idea out his brain. _No, bad. Risky thoughts to have, TJ._

Instead, he lets out a single “oh,” with mouth slightly agape and eyes hazy and processing. He’s Cyrus’ best friend and Cyrus is his. That’s something TJ wouldn’t think he’d get to say in a million years, and it’s something he most definitely doesn’t want to lose. So he makes a decision.

“Okay, Underdog, I’ll try to be good friends with Jonah again,” he heaves, making Cyrus’ face light up. “I don’t know how, but I’ll try. For my best friend, Cyrus.”

TJ’s heart nearly gives out when Cyrus flashes a toothy grin. God, how could TJ say no to someone that adorable? He’ll just have to put in the work, maybe invite Jonah to hang out after school one day. But until then…

“Hey, what are you doing tomorrow?”

~

“ _Help._ ”

It’s a word out your mouth but it sounds so unlike you, shrill and helpless. It’s strange being in a body that so desperately needs attention, help, anyone or anything—yet also wanting nothing more but to hide, to keep the entire world from realizing just how messed up you really are.

But someone does see you. “Jonah,” a voice calls, followed by the rhythmic patter of dress shoes on concrete stairs.

It’s amazing how blurry your world has become, impending doom and all. You don’t recognize the voice at first. You’re not even sure if you’re horrified or relieved. You suppose you feel more of the latter, as the person inside your skin calls for help once more. And it’s help that turns the corner and presents itself in a face familiar and changed all at once:

TJ Kippen, ex-best friend, basketball star, and biggest jerk in the world.

~

TJ feels like the biggest jerk in the world.

A whole week has passed since Costume Day, and Cyrus still hasn’t spoken to him. It’s on a Saturday afternoon like this that he and Cyrus would be hanging out, but TJ doesn’t think he’s allowed to speak to Cyrus, either.

Stupid Kira. Stupid double dribble t-shirts. Stupid… insecurities.

TJ wonders if there’s anything he can do to make it up to Cyrus, even if he’s already wrecked their friendship for good. He thinks back to last week, to comfortable silences and knees bumping on the couch in Cyrus’ basement. He thinks back to a promise he made and kept in the back of his mind all week. Maybe, now’s the time to fulfill it.

He feels weird searching up Jonah’s name in his phone contacts. He feels especially weird hitting the call button and listening to the ringing; he figures calling is more personal… and a tad quicker.

“Uh, hey, TJ,” Jonah replies after a second longer of ringing. “What’s going on?”

“Um, nothing much, actually. I was thinking maybe we could hang out today,” TJ heaves.

“Oh, I thought you and Cyrus hang out on Saturdays? Or at least that’s what he told me.”

TJ swallows down the excitement of _he talks about me_ and replaces it with sadness, then steadfast determination. “Uh, yeah, usually. But some stuff happened and I’m free today, so I thought maybe it’d be nice for you and me to… catch up?”

Jonah pauses for a bit longer than TJ would like, then– “Yeah, that sounds great. Is 2 p.m. okay? At The Spoon?”

TJ sits up in his seat. “Yeah, definitely. I’ll be there.”

“Cool.”

“Cool,” TJ says, laughing a bit. “I’ll see you then.”

To his surprise, TJ feels strangely invigorated after he hangs up. Something about righting wrongs, he’s sure. But it’s only then that he lets out a breath he didn’t realize he was holding.

~

_“Hey… you okay?”_

You would laugh if you could.

 _No._ Absolutely not. Nothing is okay. The world is spinning and the sky is falling and your heart is pumping so fast that you can almost feel your chest caving in. TJ touches your shoulder, and it’s strange, craving the touch of someone you hate so much. You fear you might crumble under the weight of his hand, under the weight of everything, but more frightening is that exact fear reflected in TJ’s eyes.

It’s the same look he had before batting on the baseball diamond, or even now, before getting back a graded math test. He would never admit that he’s afraid—TJ Kippen doesn’t feel fear, as far as Jefferson Middle School knows. But you know fear, and you know what it looks like on him.

In this moment, you think you’re dying. And he’s afraid that he agrees.

~

TJ presses his fingernails into his palms once, twice, before stuffing his hands into his pockets. He wasn’t expecting to be this nervous to talk to Jonah. It’s not like the entire fate of TJ’s relationship with Cyrus rides on this interaction (because he definitely doesn’t expect or deserve Cyrus’ forgiveness any time soon), but for some reason, it certainly feels that way.

_Because if I can’t even get this right, how can I ever get things right with Cyrus? How can I be Cyrus’ friend, let alone his boyf–_

TJ bites down the thought. He doesn’t want to think about this now, doesn’t want to send himself down the same, old spiral of 1 a.m. thoughts, not when he’s trying to keep his spirits high for meeting Jonah. So he takes a big breath and swivels open the door to The Spoon.

Back facing the entrance, Jonah sits at the counter and scrolls through his phone. TJ rests a light hand on Jonah’s shoulder as he approaches the counter with a smile. “Hey, thanks for waiting for me,” he greets.

“No problem, I’m glad you could make it!” Jonah says, holding out a hand for a casual handshake.

TJ slides onto the chair stool and asks, “Did you order anything yet?”

Face frozen, Jonah glances at TJ before melting into that familiar puppy dog smile. “Uh, nah. My allowance is running sort of low this week, so, um…”

“What? Why didn’t you tell me? We could’ve met up somewhere else where we won’t get tempted by the delicious smell of baby taters.”

Jonah laughs and shrugs. “Ah, it’s alright. I figured this was the best spot to talk, y’know?”

TJ frowns, then digs his wallet out of his back pocket. “You know what? No. You get whatever, I’ll pay.”

“Hey, you really don’t have to–”

“I want to,” TJ insists, tone serious. “That’s what friends do, right?”

Jonah blinks then gives a small nod. “Yeah, I guess. Thanks.”

“Of course, no problem. And don’t worry about paying me back or anything. My job pays me enough, anyway.”

Smiling softly, Jonah finally peeks at the menu. “Good, I’m glad. Thank you.”

They spend the next minute or so perusing the menu and chatting about dishes they have yet to try. After all, they don’t quite visit often enough to have been able to order every item on The Spoon’s gigantic menu. Despite this (and despite the fact that this is a day of firsts), they decide on two tried and true dishes: a cheeseburger and a basket of baby taters.

It’s then that their waitress emerges from the kitchen. It’s immediately striking how pretty she is. Blond girl, radiating femininity. _Amber,_ the metal pin on her lapel reads.

“Hey, Jonah! And friend,” she greets with a wave.

“Hey, Amber! Uh, this is TJ,” Jonah introduces, motioning to his side. TJ offers Amber a grin, only to see her own smile melting away.

“Oh,” she says, “you’re TJ?”

TJ senses the shift in the air, almost like a switch. His mouth falls open with the urge to respond, but Amber continues, the stickiest of sugar trapped in her words. “Hmm. I’ve heard about you.”

“He’s the captain of the basketball team at Jefferson,” Jonah chimes, oblivious as ever.

Eyes trained on TJ, Amber nods. “Right, yeah. Double dribble boy.”

TJ feels the color drain from his face. All too easily, the flutter of _he talks about me_ twists and drops in his stomach, leaving a muddied sinkhole of _I screwed up, of course I screwed up, and of course he talks about me in ways that I couldn’t even try to talk to about him._

It’s a devastating, lethal blow—to the idea that maybe he and Cyrus will get past Costume Day, past passing the ball and handguns in backpacks and the handfuls of other “Costume Days”. And Jonah must finally sense it, because he leans over the counter and attempts to divert the situation. “Hey, can we drop this? Please? We were just hoping to order,” he pleads, voice low.

A shadow falls upon Amber’s features, just for moment, until she pulls her notepad close to her chest. “Of course,” she says. “What will it be today?”

TJ, too distraught to react, lets Jonah answer. “Baby taters and a cheeseburger would be great. Thank you, Amber.”

Amber takes a second to scribble the order before tucking the pen and paper into her apron. “That’ll be up soon. Enjoy your meal, you gu–” Amber stutters, then presses her lips into a gristly smile. “...Jonah.”

Jonah returns an awkward smile as she moves to collect their menus. It’s after TJ scrambles to hand her his menu, however, that she really pauses to look at him. For once, TJ sees a flicker of something that isn’t vengeance in her eyes. _Disappointment._

“You really hurt him, you know that? And he’s not the type to say when he’s hurt,” she says. “In fact, if I were him, I don’t think I’d have it in me to give you a second chance. Or a third, or a fourth.” Then, Amber meets TJ’s eyes. “But I guess I’m not him.”

Grabbing the menu from TJ’s hand, she imparts one final message. “You’re a basketball player, right? Quit dropping the ball. For his sake, and yours.”

TJ is given no time to respond. With a turn of her heel, Amber takes their orders and the last of her sympathy to the kitchen window.

~

You need nothing but help, but when he says he’ll leave to find some, you think you might just die then and there.

 _“Don’t leave!”_ you cry, hasty with your words. You hate how emotional you sound, how helpless and needy. You hate that the universe has made you vulnerable in front of TJ Kippen once again. And for a second, you think you hate him, but then you realize you just hate being alone. _Oh, TJ,_ you think, your eyes wet with frustration. _Why did you ever have to leave?_

It’s as if he can read your mind. “No, I’ll be right back!” he assures, not waiting to run back towards the building. Almost immediately, the dark thoughts trickle back in, a flurry of fear and shame. _Do I deserve this, whatever this is? Am I supposed to feel this way? Does everyone I care about eventually leave?_ You swallow, unanswered questions thick in your throat.

_Why does everyone always leave?_

~

“I’m just now realizing that I probably should’ve showed up to more of your Ultimate Frisbee games.”

TJ peers at Jonah beside him. After their near-disaster of a lunch, TJ has to check that everything’s still fine between the two of them, and by the looks of it, Jonah is just as relieved to leave The Spoon as him.

Frisbee in hand, Jonah keeps his eyes on the matted, green grass below his sneakers. “Ah, it’s alright, dude. I wasn’t expecting you to show up, anyway,” he laughs. When he notices the guilt across TJ’s face, he quickly adds, “And I know frisbee’s not everyone’s thing. It’s… no big deal. If it makes you feel better, I’ve only really showed up to one of your basketball games.”

“Yeah, well… I’m not sure that makes me feel better, actually.” TJ tosses Jonah a lopsided grin before running backwards and motioning for Jonah to throw the frisbee. Jonah follows suit, hopping backwards and flicking the disk away.

To TJ’s frustration, the frisbee glides through his arms and falls upon a soft patch of grass. When he goes to fetch it, Jonah decides to bring up the elephant in the room.

“Uh, sorry about what happened back at The Spoon,” he calls from a few feet across the field. “I didn’t know Amber would get on you like that.”

TJ watches as Jonah catches the frisbee. “Eh, it’s alright. It’s not your fault. Plus, I probably deserved it. Cyrus probably hates me.”

“What? What did you even do?” Jonah asks, tossing back the disc.

“I–” TJ is caught off guard by the frisbee whirling through the air. He pauses to pick it up off the ground before throwing it back. “I mean, lots of dumb stuff. Like, I used to be really mean to Buffy back when she was trying to get on the boy’s basketball team. That really messed up things for their friendship back then. I still feel really bad about it.” _Throw._

 _Catch._ Jonah frowns a bit. “Oh, yeah, I sort of remember that.” _Throw._

 _Miss._ “Yeah. Of course you do.” _Throw._ “And I made a big mistake when I invited Cyrus to hang out with my friends, and one of them just decided to bring a gun–”

“That was you?!” _Catch. Throw._

TJ’s face turns bright pink, though he’s not sure if it’s because he fails yet again to catch the frisbee. “Yes, yes, that was me. And can you toss this maybe, like, seventy-five percent slower?” _Throw._

 _Catch._ “But… that’s it, right? I mean, I thought you guys made up already.” _Throw._

 _Catch._ TJ grits his teeth. “We did. After that, we did. But… I bailed on Costume Day. We had planned both of our outfits, but… my idiot brain decided against it. I ended up matching with Kira.” _Throw._

 _Catch._ “What? That’s it?” _Throw._

 _Miss._ TJ is incredulous. “What do you mean, ‘that’s it’?”

“I mean… yeah, that probably sucked for Cyrus, but… I bailed on Costume Day, too, and I’m not really beating myself up over it.” _Throw. Catch._ “Am I supposed to be beating myself up over it?”

“Yes! I mean, I don’t know. Probably. You’re not?” _Throw. Catch._ “Ugh, either way, I messed up way too many times, and I’m pretty sure Costume Day was Cyrus’ last straw.” _Throw._

 _Catch._ “So, did you apologize yet?” _Throw._

 _Miss._ TJ swallows. “Yeah, I did. Sorta. I mean, I really did. I just haven’t really talked to him since then.” _Throw._

 _Catch._ “Well, why not?” _Throw._

 _Catch._ “It’s not that easy.” _Throw._

 _Catch._ “It’s not? Cyrus is a pretty nice, forgiving guy, y’know.” _Throw._

 _Catch._ “Yeah, I know. But even if he completely forgives me, I can’t just go up to him and pretend everything’s okay. Because it’s not.” _Throw._

 _Catch._ “But… why?” _Throw._

 _Miss._ “ _Because,_ Jonah! It just isn’t!”

TJ flings the frisbee into the air, nearly hitting Jonah in the head. Jonah’s quick enough to lean out of the way, but a part of him remains stuck, still wary of the boy who asked him to hang out on a random Saturday afternoon. He squints at TJ, obviously exhausted yet restless from where he stands. _Annoyed,_ Jonah presumes. _Doesn’t wanna be here._ So when he bends down to grab the frisbee from off the ground, Jonah calls out an order. “Go long.”

TJ seems hesitant, but eventually he runs further out the field. Then Jonah chucks the frisbee forward, watching it fly across the sky.

 _Miss._ TJ walks a short distance to the frisbee before throwing it back. Despite the new distance, Jonah catches it with ease. He clearly doesn’t return the favor as he hurls the frisbee into the air.

 _Miss._ TJ almost catches it, but it hovers too far above his reach and touches down on the grass behind him. He grunts as he picks it up and jogs a few feet closer to Jonah. “I’m moving closer. I can’t catch it from all the back here,” he calls, tossing the frisbee back.

Jonah traps the disc between his palms then fires it back. TJ misses it as usual, but before TJ can comment, Jonah yells out a question. “Why really did you want to hang out today?”

TJ doesn’t respond right away, acting as if he’s lost the ability to talk and throw a frisbee at the same time. He steps closer before releasing the frisbee. “I told you, I wanted us to catch up.”

The frisbee flies a bit out of Jonah’s reach, but he manages to catch it. He throws it back with nearly as much force as his next question. “Why now? Why do you only care about catching up now?”

TJ practically growls as the frisbee whizzes past him. He grabs it and looms closer, running this time. “I need to make this right,” he heaves, returning the frisbee. “I… want to.”

“You’re lying,” Jonah spits, jumping up to catch the frisbee coming his way. “You’re so full of it, TJ. You’ve always been so full of it.”

TJ stands but a few feet away now, yet Jonah twists his body, rearing back with the intentions of catapulting the disc right into TJ’s face. Still, TJ works fast. “What are you talking about? What’s your problem?” he barks, gripping Jonah’s arm and keeping it in place.

“ _My_ problem?” Jonah sputters. He rips his arm from TJ’s grasp and throws the frisbee to the ground. “TJ, we already made up! We don’t need this and you know that. So why are you trying so hard to rekindle this friendship when you know it’s just not working?”

“Because of _Cyrus,_ Jonah!” TJ erupts. “Because I like Cy–”

TJ stops in his tracks, face morphing from anger to fear. Jonah’s face changes, too, eyes widening in realization.

“I… I know Cyrus wants us to be close friends, and I don’t wanna mess this up for him,” TJ croaks.

“I don’t think that’s what you were going to say,” Jonah says, frozen.

TJ shakes his head and avoids Jonah’s eyes. Instead, he looks around at the park, at the luscious, green grass and the shining sun and the day he should’ve spent with Cyrus if he hadn’t messed up for the hundredth time, if he just didn’t let Kira make him feel bad for _who he is–_

God, no. This is not about Kira. This was never about Kira. This is all him, his problems, his fault. And all that convinces him that he really just oughta shut up and sit down.

So he does. TJ gives up, dropping to the grass in a puddle of sweat and defeat. He senses himself breaking, feels the small tingle in his nose that only shows up when he’s about to cry. He tries to distract himself, tries urging away the tremble in his hands as he ties his shoe. It almost works. But then slowly, Jonah settles into a sitting position across from him, and it almost brings him back to a time before Little League when they would just sit on his living room couch and talk for hours.

“TJ…” Jonah starts, voice soft. “Do you like Cyrus?”

At first, TJ has to close his eyes and shut himself out of the world for a moment. But then he looks up from his hands to see something he thought he’d never see again.

For once, TJ can tell Jonah is truly here to listen. It’s the same kid he grew up with, the same blue eyes that’s looked at him and looked within him for years. It’s familiar. It’s safe. This, he thinks, is what it feels like to have a friend that feels like home.

And it’s exactly what makes TJ comfortable in telling Jonah everything, all at once.

~

He does come right back, help in tow. Mr. Goodman doesn’t really do much, but he’s here and he’s an adult who seems to know what he’s doing, so you suppose sitting with him helps enough.

After a while, TJ shifts his weight from one foot to another and leans forward. You almost forgot he was there in the first place. “Uh, is there anything I can do to help?” he asks. You don’t have the strength to answer, but you realize he’s asking Mr. Goodman.

“I have it all under control, thank you,” he says, then he turns to meet TJ’s eyes. “For bringing me here, and for asking.”

 _Ditto,_ you think. It’s the first coherent thought you’ve had in the past twenty minutes. You’re embarrassed you can’t just express it, though.

TJ nods, concerned and awkward at the same time. He pulls out his phone, checks the time, then looks back out at the street. “I think I’ll head back home, then. Thanks for having me. Uh, please tell Cyrus that I’m wishing him a happy birthday. I didn’t really get the chance to do so myself.”

Mr. Goodman grins. “It’s hectic in there, isn’t it?”

TJ smiles back. “Definitely a lot going on. I… I’d probably be anxious, too, if I got caught up in that crowd for too long.”

It hits you then, as you lock eyes with him, that TJ is trying to make sure you’re not embarrassed. He’s telling you there’s no judgement on his end. And this experience is staying right here, between the three of you and you three alone.

You want to thank him, but you can’t really find it in you to use your voice right now. Instead, he fills the silence. “Take care, Jonah. And good night, Mr. Goodman.”

He turns into the darkened street, a black suit against a black sky. You almost hate the look of him leaving. It feels too familiar.

No, you’re not friends now. Not even after tonight. But you think maybe one of these days, you wouldn’t mind calling him up and inviting him to hang out for an hour or two.

For old time’s sake.

~

A week passes and Jonah is back playing ping pong in Cyrus’ basement.

Cyrus is a savage, truly merciless when it comes to ping pong. Jonah supposes this is what a certain someone felt like during a game of frisbee last week. The thought amuses him, keeping him in high spirits throughout his own table tennis massacre.

Then his phone buzzes in his pocket, and he has to take a moment to breathe. “Hey,” he says, “do you mind if I grab some water from your kitchen upstairs?”

“Not at all. Do you know where the bottled water is or do you need me to go up with you?” Cyrus asks.

“I think I got it. Thanks.”

Jonah lets out another breath when he makes it to the stairs. Cyrus teases him as he heads up, waving his ping pong paddle in premature victory. “Better drink up, JB! Wouldn’t want you getting too dehydrated during our vicious tournament of the table ten’!”

Jonah can’t help but roll his eyes and chuckle, though the lighthearted mood doesn’t last long for him. Rather than turn the corner to Cyrus’ kitchen, he creeps to his real destination—the front door. When he turns the handle, TJ stands before him, anxious and twitchy as expected. He accepts Jonah’s bro-handshake before stepping in and sliding off his shoes.

“How’re you doing, man?” Jonah asks, keeping quiet enough so as to not raise Cyrus’ suspicions downstairs.

TJ offers a timid smile. “Uh, I’m nervous. Terrified, actually. But weirdly enough, not horrible.”

Jonah grins back. “Good. You’re gonna be okay, alright? I swear it’s gonna work out, but whatever happens, I’m here for you.”

TJ peers down the staircase to the basement then scratches the back of his head. “You don’t have to say that, you know. You don’t have to look after me.”

“I know. But I want to,” Jonah says. Then he smiles his charming, Jonah smile. “That’s what friends do, right?”

Eyes softening in appreciation, TJ taps his hand against Jonah’s arm. “Thank you, Jonah. I mean it.”

“You’re welcome, TJ. Now head down there,” Jonah urges, giving TJ a slight push towards the staircase.

When TJ descends into the basement, he nearly forgets how to breathe. Cyrus has his back to him, doing nothing but shuffling the ping pong balls in their basket, yet standing in the same room as Cyrus is all TJ needs to do to feel exhilarated and weak-kneed all at once. He pauses on the staircase, suddenly hesitant to carry through with his plan, but Cyrus must hear his weight shift on the floorboards.

“Alright, ready for our final game?” he asks, turning around eagerly only to freeze in his place. They stare at each other, a certain longing between them, until Cyrus breaks the silence. “Why are you here?”

TJ steps closer, a shaky breath rattling his lungs. “I… I wanted to apologize for Costume Day,” he murmurs.

“TJ, it’s been weeks since Costume Day, and anyway, you basically already apologized. I’m pretty much over it by now,” Cyrus sighs.

“Well, I’m not,” TJ says. “It’s been weeks, and it’s been killing me ever since.”

Cyrus frowns, concern washing over his features. Yet he resolves to cross his arms and stare at the ground. “I mean, a call before school that you changed your mind would’ve been nice.”

“I know. I know and I’m sorry,” TJ chokes. His fingers fiddle with the threads of his hoodie as he shakes his head. “I’m sorry for Costume Day. And for putting you in danger, and for being mean to your friends, and for constantly being the biggest screw-up in your life, and–”

“Hey.” TJ looks up to see Cyrus looking back, smile soft and reassuring. “You’re not the biggest screw-up in my life. That’s my title.”

TJ stares at him wide-eyed, too scared to react. But then Cyrus chuckles quietly, easing the tension, and TJ finally lets himself breathe. He chuckles along with Cyrus and blushes at the floor until he senses Cyrus watching him, grinning at him. When TJ steps closer, Cyrus’ eyes follow him. “So, we’re good?” TJ asks, hopeful. “I’m okay?”

Cyrus uncrosses his arms and beams. “You’re okay, TJ. We’re okay.”

He laughs as TJ charges towards him and encloses him in the biggest bear hug either of them have experienced in years. They giggle and stumble at the impact, only realizing that they’ve abandoned all rules surrounding the bro-handshake when they settle into each other. TJ’s waist is at the perfect height for Cyrus to wrap his arms around, and TJ finds Cyrus has grown just tall enough for him to press his cheek against his shoulder. It’s warm, and soft. And TJ almost thinks he can stay like this in Cyrus’ arms forever, until the beat of his heart gets too erratic.

Fearful that Cyrus can literally _hear_ his heart pounding out his chest, TJ inhales and steps away. Cyrus is unbothered, taking a moment to smile widely before turning away. “So Jonah brought you in, huh?” he asks, adjusting his shirt.

“Yep. This was actually his plan.” TJ leans against the ping pong table and, bashfully, looks up at Cyrus. “We… talked, when you and I weren’t.”

Cyrus’ eyebrows quirk up. “Oh, really?”

“Yeah. I wouldn’t say we’re best friends quite yet, but… we’re getting there. We’re friends.”

“Good, I’m glad,” Cyrus says. “In that case, maybe I should call him back down here and we can all play ping pong together, like we were supposed to a month ago?”

TJ smirks. “Yeah, maybe.”

Happily, Cyrus turns away from TJ to head up the stairs. He only makes it up one step when TJ’s entire world shifts. He sees everything for what it is—he and Cyrus, the two of them standing here, away from the world, away from judgement, alone with each other. He still feels the thrum of his heart, still feels Cyrus’ warmth against his skin and in his clothes. For months, he didn’t know what all of it meant, not until Jonah sat with him in the middle of the park and gave it words.

_TJ… Do you like Cyrus?_

_I don’t know, do I?_ TJ wanted to say. Is that what he feels when Cyrus smiles at him? Is that why he always imagines what it’s like to be Cyrus’ boyfriend? Is that how Kira got into his head, back when she questioned why he’d ever do a costume with _him_ over _her_?

It’s the inexpressible turned expressed. It’s the realization that even the scary basketball guy can develop a soft spot for the dorky chocolate-chip-muffin kid. And it’s the newfound strength TJ uses to ball his fists and use his voice in a way he never thought he would.

“Cyrus, stop. Wait.”

Cyrus turns around. Clearly concerned, he steps back into the basement and approaches TJ. “What’s wrong?”

TJ shakes his head. “Nothing’s wrong, it’s… I just…” He jostles his arm, silently asking for the courage to just _say it,_ and then he does.

“I’m gay.”

Cyrus’ eyes fly open. TJ notices his shoulders bob up and down as his breathing goes funny. “TJ, that’s great,” he gasps. “I mean, I’m proud of you! I’m happy you’re comfortable enough to tell me that.”

TJ nods, breathing a sigh of relief. “Right… Yeah, I’m happy, too.” He smiles, though it’s gone in an instant. “But… I only realized I was gay because I realized I… I had a crush on you. Right now… I think I have a crush on you.”

Cyrus goes rigid, ears tinging pink. “ _What?_ ”

TJ shrinks within himself, a scared, little, baby coyote. “I never considered liking guys, not before you. I mean, I always thought the guys on the basketball team were cute, but you… you were cute, and kind, and… yourself. And I always knew you were different. I always knew I felt something for you that was more than friendship.” Then TJ clasps his hands together, wringing them anxiously. “I’ve always liked you,” he whispers.

Cyrus steps closer and TJ feels his entire body go warm. “Why didn’t you tell me sooner?”

“I was scared!” he exclaims, meeting Cyrus’ eyes for the shortest of moments. “I didn’t know I could like boys or if I was even _allowed_ to–”

“TJ, of course you’re allowed to.”

“But then you came along and I actually had to question my feelings and my identity, and I’ve never had to do that, not until you showed up. It was terrifying. But I did it.”

“TJ,” Cyrus says.

“I was in such a weird place but you helped me out of it. You always helped me out of it. And god, I was so excited to do Costume Day with you, you have no idea. But Kira, she… I told her that I was doing a costume with you and she… I thought she would…”

“ _TJ,_ ” Cyrus repeats.

“I never wanted to hurt you, I hope you understand that. But I thought that if she told everyone that I was gay, and that I liked you… and if _you_ found out before I could tell you properly…”

“TJ, it’s alright.”

“And now we’re here and I’m out and I’ve probably just wrecked our friendship for good because I know you don’t like me like that but I know I couldn’t spend another day pretending that I wasn’t completely and utterly smitten by y–”

It’s a constant blur, the first fourteen years of TJ’s life. But it’s nothing compared to the moment Cyrus steps forward, leans up, and kisses him.

It’s a million times better than the hug. It’s the sun, in its warmth. It’s falling, and flying, and never wanting to forget what it feels like to be this high up. And it’s their first kiss of many, better than anything they could’ve ever imagined.

Cyrus is the first to lean back, a flutter of eyelashes against TJ’s cheek. TJ is shell-shocked, glancing down and wondering how their bodies ever grew this close. “ _Cyrus,_ ” he breathes.

“Don’t you know how long I’ve been waiting to do that?” Cyrus asks, hand trailing down TJ’s arm.

TJ laughs in two different ways—one in shock and one with all the joy in the universe. Finally free, he pulls Cyrus into another hug. In Cyrus’ ear, he murmurs a promise. _I’m not letting go. I’m never letting go. Not again._

 _Good,_ Cyrus says against the fabric of his hoodie.

They stay like that, even when TJ’s phone buzzes. He doesn’t know it, but it’s a text from Jonah. _I’m happy for you two. I always knew it’d work out. I’m heading out, but promise to tell me everything later, yeah?_

They’ll all have to play ping pong together some other time. But in each other’s arms, TJ and Cyrus think that’ll definitely have to wait.

**Author's Note:**

> Thanks for reading my longest Andi Mack fic to date! Please leave a kudos or a comment if you're so inclined <3


End file.
